<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2018/7/19
 * Time: 19:59
 */

namespace Modules\Admin\Service;


class TemplateService
{
    /**
     * 获取所有模板数据
     */
    public function getAllTemplate(){
        $templates = glob(public_path('/templates/*'));
        //dd($templates);
        //循环模板数据
        //在这里定义一个空数组
        $configs = [];
        //parseConfig()有配置文件的时候会对配置文件进行处理返回数组数据，如果没有配置文件就没有返回值，等于null
        foreach ($templates as $v){
            if($config = $this->parseConfig($v)){
                $configs[] = $config;
            }
        }
        //dd($configs);
        return $configs;

    }

    public function parseConfig($dir){
        //需要定义当前检查的模板里是否有package.json文件，如果有再处理相关的配置，如果没有则无效
        $package = $dir . '/package.json';
        if(is_file($package)){
            //获取配置文件中的内容
            $config = file_get_contents($package);
            //将获取来的配置项数据转为php识别的数组
            $config = json_decode($config,true);
            //dd($config);
            //对配置文件中的图片进行处理
            $config['preview'] =  asset('/templates/'.basename($dir).'/'.$config['preview']);
            $config['name'] = basename($dir);
            //将配置文件返回
            return $config;
        }
    }

}